Imports System.Data.OleDb
Imports System.Xml.Serialization
Imports System.Runtime.Serialization
Imports System.ServiceModel

<DataContract()> _
Public Class Author

    Private m_AuthorId As Integer = -1
    Private m_IPNIAuthor_id As String = ""
    Private m_IPNIVersion As String = ""
    Private m_Abbreviation As String = ""
    Private m_Forename As String = ""
    Private m_Surname As String = ""
    Private m_TaxonGroups As String = ""
    Private m_Dates As String = ""
    Private m_IPNIAlternativeNames As String = ""
    Private m_CorrectAuthorId As Integer = -1
    Private m_CorrectAuthor As String = ""
    Private m_ChangeDate As DateTime
    Private m_ChangeUser As String = ""

    <DataMember()> _
    Public Property AuthorId() As Integer
        Get
            Return m_AuthorId
        End Get
        Set(ByVal value As Integer)
            m_AuthorId = value
        End Set
    End Property

    <DataMember()> _
    Public Property IPNIAuthor_id() As String
        Get
            Return m_IPNIAuthor_id
        End Get
        Set(ByVal value As String)
            m_IPNIAuthor_id = value
        End Set
    End Property

    <DataMember()> _
    Public Property IPNIVersion() As String
        Get
            Return m_IPNIVersion
        End Get
        Set(ByVal value As String)
            m_IPNIVersion = value
        End Set
    End Property


    <DataMember()> _
    Public Property Abbreviation() As String
        Get
            Return m_Abbreviation
        End Get
        Set(ByVal value As String)
            m_Abbreviation = value
        End Set
    End Property

    <DataMember()> _
    Public Property Forename() As String
        Get
            Return m_Forename
        End Get
        Set(ByVal value As String)
            m_Forename = value
        End Set
    End Property

    <DataMember()> _
    Public Property Surname() As String
        Get
            Return m_Surname
        End Get
        Set(ByVal value As String)
            m_Surname = value
        End Set
    End Property

    <DataMember()> _
    Public Property TaxonGroups() As String
        Get
            Return m_TaxonGroups
        End Get
        Set(ByVal value As String)
            m_TaxonGroups = value
        End Set
    End Property

    <DataMember()> _
    Public Property Dates() As String
        Get
            Return m_Dates
        End Get
        Set(ByVal value As String)
            m_Dates = value
        End Set
    End Property

    <DataMember()> _
    Public Property IPNIAlternativeNames() As String
        Get
            Return m_IPNIAlternativeNames
        End Get
        Set(ByVal value As String)
            m_IPNIAlternativeNames = value
        End Set
    End Property

    <DataMember()> _
    Public Property CorrectAuthorId() As Integer
        Get
            Return m_CorrectAuthorId
        End Get
        Set(ByVal value As Integer)
            m_CorrectAuthorId = value
        End Set
    End Property

    <DataMember()> _
    Public Property CorrectAuthor() As String
        Get
            Return m_CorrectAuthor
        End Get
        Set(ByVal value As String)
            m_CorrectAuthor = value
        End Set
    End Property

    <DataMember()> _
    Public Property ChangeUser() As String
        Get
            Return m_ChangeUser
        End Get
        Set(ByVal value As String)
            m_ChangeUser = value
        End Set
    End Property

    <DataMember()> _
    Public Property ChangeDate() As DateTime
        Get
            Return m_ChangeDate
        End Get
        Set(ByVal value As DateTime)
            m_ChangeDate = value
        End Set
    End Property

End Class
